home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 041-050 / amok49 / oprof / microtimer / txt / runtime.mod < prev    next >
Text File  |  1993-11-04  |  1KB  |  42 lines

  1. (*
  2.   :Program.       RunTime
  3.   :Author.        Volker Rudolph
  4.   :Address.       Lettow-Vorbeck-Str. 11 / 6750 Kaiserslautern 26
  5.   :Phone.         06301/8566
  6.   :Version.       1.1
  7.   :Date.          28.4.1990
  8.   :Copyright.     Freeware
  9.   :Language.      Oberon
  10.   :Translator.    Amiga-Oberon V1.17.1
  11.   :Imports.       MicroTimer, Printf
  12.   :Contents.      RunTime ermittelt die Ausführungsdauer eines Programmes
  13.   :Usage.         RunTime "<program> <arguments>"
  14. *)
  15.  
  16. MODULE RunTime;
  17.  
  18. IMPORT ol:OberonLib,a:Arguments,io,d:Dos,s:SYSTEM,
  19.   mi:MicroTimer,p:Printf;
  20.  
  21. VAR
  22.   arg:ARRAY 80 OF CHAR;
  23.   result:BOOLEAN;
  24.   minutes:INTEGER;
  25.   seconds:INTEGER;
  26.   micros:LONGINT;
  27.   ticks:LONGINT;
  28. BEGIN
  29.   p.writeProc := io.WriteString;
  30.   a.GetArg(1,arg);
  31.   IF (a.NumArgs() = 1) AND ~((arg[1] = '?') AND (arg[2] = 0X)) THEN
  32.     mi.Start;
  33.     result := d.Execute(arg,NIL,io.out);
  34.     mi.Stop(ticks);
  35.     mi.TicksToTime(minutes, seconds, micros, ticks);
  36.     p.Printf3("\[33mRuntime: %ld min %ld sec %03ld msec\[0m\n",minutes,seconds,micros DIV 1000);
  37.   ELSE
  38.     a.GetArg(0,arg);
  39.     p.Printf1('Usage:\n  %s "<program> <arguments>"\n',s.ADR(arg));
  40.   END; (* IF *)
  41. END RunTime.
  42.